sql server 中是否有一个选项可以在数据库级别配置标识列的默认起始值(种子)。
我希望默认情况下,每个使用标识列创建的表,第一个值将从 3000 开始。而不是来自 1 。我知道如何在表格级别执行此操作。但是在数据库级别有可能吗?
10倍
sql server 中是否有一个选项可以在数据库级别配置标识列的默认起始值(种子)。
我希望默认情况下,每个使用标识列创建的表,第一个值将从 3000 开始。而不是来自 1 。我知道如何在表格级别执行此操作。但是在数据库级别有可能吗?
10倍
我有两张桌子:dbo.old_roles
和dbo.new_roles
。我需要在两者之间同步。
在一个表中创建或修改角色时,它应该更新另一个表。为此,我在每个表中创建了一个触发器。
为了防止循环,我想在另一个表中触发触发器时禁用一个表中的触发器。
当我调用ALTER TRIGGER
语句时,我得到一个错误。
我能做些什么?
是否可以从AG中的辅助数据库做日志备份?
我有一个处于备用和只读模式的辅助数据库。问题是..我可以复制这个数据库吗?
我有一个带有数据库名称的高压生产环境DB1
。我想在DBCC CHECKDB
那里的一个数据库上运行一个每周进程。
(大家可以理解,我的生产环境做不到,性能影响)。
所以,我想使用我的日志传送过程之一。我有一个日志传送过程,从DB1
(主要)到DB1_LS
位于远程服务器(DWH 服务器)中的数据库(次要)。
问题:
有没有办法对辅助数据库进行完整备份DB1_LS
?
我希望能够恢复它并在其DBCC CHECKDB
上运行(COPY-ONLY BACKUP
?)
/********************************** CREATE DATABASE PiecemealDB *************************************/
use [master]
go
if exists (select * from sys.databases where database_id = DB_ID('PiecemealDB'))
drop database [PiecemealDB]
go
CREATE DATABASE [PiecemealDB]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'PiecemealDB', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\PiecemealDB.mdf' , SIZE = 4096KB , FILEGROWTH = 1024KB )
LOG ON
( NAME = N'PiecemealDB_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\PiecemealDB_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)
COLLATE Latin1_General_100_CI_AS
GO
USE PiecemealDB
GO
IF NOT EXISTS (SELECT name FROM sys.filegroups WHERE is_default=1 AND name = N'PRIMARY')
ALTER DATABASE [PiecemealDB] MODIFY FILEGROUP [PRIMARY] DEFAULT
GO
-----------------------------------------------------------------------------------------------------
use PiecemealDB
go
/* Creating table in PRIMARY FG & init data*/
if OBJECT_ID('dbo.MainFG') is not null
drop table dbo.MainFG;
go
create table dbo.MainFG (Col1 int identity(1,1),Col2 varchar(100)) ON [PRIMARY];
go
insert into dbo.MainFG(Col2)values ('Primary FG')
go 100
/*******************************ADDING NEW FileGroup [ReadOnlyFG] ***********************************/
USE [master]
GO
ALTER DATABASE [PiecemealDB] ADD FILEGROUP [ReadOnlyFG]
GO
ALTER DATABASE [PiecemealDB] ADD FILE
( NAME = N'ReadOnlyDF_Data', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\ReadOnlyDF_Data.ndf' , SIZE = 4096KB , FILEGROWTH = 1024KB ) TO FILEGROUP [ReadOnlyFG]
GO
/******************************* create table under the new filegroup [ReadOnlyFG] ******************/
use PiecemealDB
go
if OBJECT_ID('dbo.ReadOnlyFG') is not null
drop table dbo.ReadOnlyFG;
go
create table dbo.ReadOnlyFG (Col1 int identity(1,1),Col2 varchar(100)) ON [ReadOnlyFG];
go
/*************** Insert data into table under FileGroup [ReadOnlyFG] *******************************/
use PiecemealDB
go
insert into dbo.ReadOnlyFG(Col2)values ('ReadOnlyFG FG')
go 100
/********************************** SET ReadOnlyFG FileGroup to READ ONLY **************************/
USE [PiecemealDB]
GO
ALTER DATABASE [PiecemealDB] MODIFY FILEGROUP [ReadOnlyFG] READONLY
GO
/********************************** BACKUP PRIMARY FILEGROUP **************************************/
BACKUP DATABASE [PiecemealDB]
FILEGROUP = N'PRIMARY' TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\PiecemealDB.bak'
WITH NOFORMAT, NOINIT, NAME = N'PiecemealDB-Full Filegroup Backup',
SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10
GO
/********************************** RESTORE FILEGROUP PRIMARY TO [PiecemealDB_NEW] **********************************/
use [master]
go
RESTORE DATABASE [PiecemealDB_NEW] READ_WRITE_FILEGROUPS
FROM DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\PiecemealDB.bak' WITH FILE = 2, RECOVERY, PARTIAL,
MOVE N'PiecemealDB' TO N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\PiecemealDB_NEW.mdf',
MOVE N'PiecemealDB_log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\PiecemealDB_NEW_1.ldf',
NOUNLOAD, REPLACE, STATS = 10
GO
** 执行此批处理后,转到 PiecemealDB_NEW 属性 >> 文件组选项卡:
问题:如何删除/删除其他文件组 [ReadOnlyFG]。1. 有没有办法只恢复 PRIMARY 文件组,而不使用 ReadOnlyFG?。2. 如果没有,我怎样才能在恢复后摆脱 ReadOnlyFG?。
10倍
我有一个包含 2 个文件组的数据库 (MyDatabase),[PRIMARY]
并且[SECONDARY]
.
该[SECONDARY]
文件组有 2 个数据文件,[DataFileA]
和[DataFileB]
.
[DataFileA]
已损坏(即使经过DBCC CHECKDB
处理)。
我试图解决它:
DBCC CHECKDB ([MyDatabase], REPAIR_ALLOW_DATA_LOSS)
但它没有帮助。[DataFileA]
,没有成功。[PRIMARY]
文件组没问题。
我可以只备份[PRIMARY]
文件组并恢复它(以新名称)并从这个文件组创建一个新数据库吗?
我该怎么做 ?
(我认为我可以将 DatabaseLS_Main 从 Standby 模式更改为使其联机,拍摄快照并将其带回 STANDBY 模式......这样做是否正确?)
我在表中有一列,我不知道是谁在更新它。
表名是dbo.Events
列名是[Status]
并且该列值是 1 或 2 。
我试图找到正在更新此列中的行的查询
我熟悉桌子
select * from sys.sql_modules m with(nolock);
还有其他选择吗?
谢谢
SQL 服务器根目录 (X:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Log) 中的“Log”文件夹 SIZE 变得太大,~80 GB。
当我检查它时,我看到那个文件夹中有很多 SQLDumpxxxx.mdmp /SQLDumpxxxx.txt 文件。
10X
执行完整数据库备份命令时:
我想知道它是否会通过刷新数据来影响性能(关于它占用的所有资源及其不良影响)。
最近几天,从 master 数据库运行的 service broker 命令消耗的资源比以前多得多。对数据库的影响很大(从坏的方面来看),它会导致内部等待。我没有在 10.07.2014 之前和之后对数据库进行任何更改(您可以在图中看到这个开始日期)。我检查了是否在任何数据库中启用了服务代理,发现它在 Tempdb 和 Msdb 中启用。什么会导致这些变化?
我附上了一张图表,你可以看到行为的变化。
我附上了另一个屏幕截图,你可以从 sp_who2 看到,我不明白的是,你可以看到“LastBatch”是非常旧的,从 10 月 12 日 07:55 开始(这个结果来自今天 10/ 20/2014 10:23 当地时间)。为什么会话没有关闭。?