我已经在 2 个 SQL Server(SQL Server 2008 和 SQL Server 2012)之间设置了日志传送。
起初,我对第一个进行了完整备份,然后在另一个上进行了恢复,然后设置了日志传送。数据库的第一次备份恢复花了几个小时,以下是我需要了解的问题:
我有一个存储过程,其中包含带变量的 SQL 语句。例如,
update customer set cust_id = @newcust_id where issuedate < @transferdate and cust_id = @oldcust_id
Run Code Online (Sandbox Code Playgroud)
变量的值在 SP 中较早地分配。
如何在服务器跟踪期间显示这些变量的值?
我们有一个代理工作,每天早上 2 点运行。对前 5 个最大的表进行碎片整理。通常需要大约 20 分钟才能完成。多年来,它一直保持这种状态。但是,最近(上周左右)我注意到它花费的时间要长得多(2-7 小时)。今天早上,我不得不终止这项工作,因为它已经运行了 8 个半小时。
我查看了它的日志,看起来在我取消作业时它甚至还没有完成第一个表中的索引:
Job '02.00 am - Index defrag' : Step 1, 'run index defrag' : Began Executing 2012-06-27 02:00:05
DBCC: Defrag phase of index 'table1_pk_index' is 27% complete. [SQLSTATE 01000]
DBCC: Defrag phase of index 'table1_pk_index' is 27% complete. [SQLSTATE 01000]
DBCC: Defrag phase of index 'table1_pk_index' is 27% complete. [SQLSTATE 01000]
DBCC: Defrag phase of index 'table1_pk_index' is 27% complete. [SQLSTATE 01000]
DBCC: Defrag phase of index 'table1_pk_index' is 28% …
Run Code Online (Sandbox Code Playgroud) 假设我们有一个主体服务器、一个镜像服务器(用作故障转移备份的服务器)和一个见证服务器。
如果我要让镜像服务器(而不是主体)脱机一小段时间(假设为五分钟),这有关系吗?这会打破镜子吗?在使服务器脱机之前,我需要做什么(例如暂时关闭镜像数据库上的镜像)?
网上有很多资源可以解释当本金倒闭时需要发生什么,但我找不到关于这种情况的任何信息。
我正在尝试运行以下语句来更改端点上的授权,因为用于授权的当前登录名即将被删除(离开公司)。
alter authorization on endpoint::Mirroring to domain\sys-admin-group
Run Code Online (Sandbox Code Playgroud)
我们使用 Windows 身份验证,因此我们所有的服务器登录名都包含反斜杠“\”字符。
这是我收到的错误:
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near '\'.
Run Code Online (Sandbox Code Playgroud)
我还尝试将登录名括在单引号中,但收到以下错误:
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'domain\sys-admin-group'.
Run Code Online (Sandbox Code Playgroud)
我在 MSDN ALTER AUTHORIZATION 页面 (http://msdn.microsoft.com/en-us/library/ms187359.aspx) 上找不到任何有用的信息。有任何想法吗?