Questions tagged «sql-server-2008»

SQL Server 2008(主要版本10.00.xxxx)。请同时用sql-server标记。

1
主键带有“ NOT FOR REPLICATION”选项
我最近接手了一个项目,并且发现大多数表中的主键都具有“ NOT FOR REPLICATION” 属性。 我不是DBA,但是在大多数数据库中,没有主键的记录肯定会被视为损坏。这些记录中的大多数的主键几乎肯定会在某处用作外键。 这是以前的开发人员(谁不再为公司工作)的错误,还是涉及其他逻辑?我们甚至不在生产环境中使用复制,因此无论如何这实际上不会影响任何严重的事情,但是我想知道删除我不知道的所有这些指令是否还有其他副作用。 对于与该主题相关的许多搜索字词,我还没有找到很多有用的信息,因此,我可以肯定地说,这只是一个愚蠢的错误,我需要扭转,所以这个问题确实是为了缓解我的偏执狂。

2
如何使用Windows身份验证使链接服务器正常工作?
我正在尝试使用域环境中的“使用登录名的当前安全上下文制作”来链接到在另一台服务器ServerB上创建的ServerA的链接服务器。我读到我需要为在每个服务器上运行SQL Server的服务帐户创建SPN,以启用Kerberos。我已经做到了,并且现在都显示身份验证方案为Kerberos,但是,我仍然面临错误: "Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'". 在Active Directory中,我可以看到ServerB的服务帐户可以信任用于委派MSSQLSvc,但是我注意到ServerA的服务帐户尚未启用“信任此用户进行委派”。目标服务器是否还需要启用该选项?要使用当前的Windows登录名来使用链接服务器,是否还有其他必要?

4
从SQL Server检索的数据是否经过压缩以进行传输?
从Microsoft SQL Server检索的数据是否已压缩?如果这是由连接字符串控制的,是否有任何简单的方法来判断是否有任何特定的应用程序正在使用它? 我正在研究分析工具,数据量可能需要几分钟才能通过我们的网络传输。我想知道如果我们从同一远程服务器上的压缩数据存储中提取数据,是否应该期望性能提高。 只要我们关注这个话题,我都会很好奇:数据是以二进制还是ASCII传输的?例如,如果12345从一INT列中查询该值,则将其作为五个字节0x31、0x32、0x33、0x34、0x35传输;该值所需的两个字节;还是该列需要四个字节? 明确地说,我知道有一些选项可以压缩存储数据并进行备份。我在问数据如何传输。


1
如何在SQL Server DDL中使用事务?
我有一个登录表,所有插入都通过一个存储过程完成。 CREATE TABLE dbo.LogTable( LogRefnr int IDENTITY(1, 1) NOT NULL, LogQuery varchar(255) NOT NULL, LogTime datetime NOT NULL, logQueryDuration int NULL, LogSessionID int NULL, CONSTRAINT PK_Log PRIMARY KEY CLUSTERED (LogRefnr) ) go Create procedure DBO.LogInsert ( @Query varchar(255), @time datetime, @duration int, @SessinID int) as begin Insert into LogTable ( …

5
空列会占用表中的空间吗?
此问题是从Stack Overflow 迁移而来的,因为可以在Database Administrators Stack Exchange上回答。 迁移 7年前。 我有从非常基本的信息保存的表。只是一个标题和一些日期字段。有一个称为注释的字段,该字段为varchar(4000),大多数情况下,我们将其保留为空白,但有时会在此处输入大量数据。这真的是一个糟糕的设计吗?还是这只是效率低下? 我认为为此列创建一个单独的表会更好。 注意:这是sql server 2008

5
监视SQL Server数据库状态的最佳查询是什么?
我希望能够运行查询以获取有关数据库状态的关键信息。即,我希望查询能够判断数据库是否处于良好状态。 这是我为此检查继承的查询: SELECT name AS [SuspectDB], DATABASEPROPERTY(name, N'IsSuspect') AS [Suspect], DATABASEPROPERTY(name, N'IsOffline') AS [Offline], DATABASEPROPERTY(name, N'IsEmergencyMode') AS [Emergency], has_dbaccess(name) AS [HasDBAccess] FROM sysdatabases WHERE (DATABASEPROPERTY(name, N'IsSuspect') = 1) OR (DATABASEPROPERTY(name, N'IsOffline') = 1) OR (DATABASEPROPERTY(name, N'IsEmergencyMode') = 1) OR (has_dbaccess(name) = 0) 如果该查询返回任何结果,则假定数据库处于可疑状态或潜在的不良状态。 有一个更好的方法吗?

5
在T-SQL中使用IF会削弱还是破坏执行计划的缓存?
此问题是从Stack Overflow 迁移而来的,因为可以在Database Administrators Stack Exchange上回答。 迁移 7年前。 有人向我建议,在t-SQL批处理中使用IF语句会降低性能。我试图找到一些确认或验证此断言。我正在使用SQL Server 2005和2008。 断言是以下批处理: IF @parameter = 0 BEGIN SELECT ... something END ELSE BEGIN SELECT ... something else END SQL Server无法重新使用生成的执行计划,因为下一次执行可能需要其他分支。这意味着SQL Server将基于执行当前可以确定需要哪个分支的基础,从执行计划中完全消除一个分支。这是真的吗? 另外在这种情况下会发生什么: IF EXISTS (SELECT ....) BEGIN SELECT ... something END ELSE BEGIN SELECT ... something else END 无法提前确定执行哪个分支的地方?



8
列出给定登录名的所有映射用户的查询
查看特定登录名的属性时,可能会看到映射到该登录名的用户列表: 我分析了SQL Server Management Studio(SSMS),发现SSMS一次连接到每个数据库,并从sys.database_permissions中检索信息。 是否可以编写一个查询来检索上面显示的用户映射信息,或者我是否被迫使用游标或sp_MSforeachdb或类似的东西?

5
数据库的mdf文件的位置
我有一个数据库Project。我的问题是我在哪里可以找到数据库的.mdf和_log.ldf,以便可以将数据库转移给另一个用户。我正在使用Microsoft SQL Server 2008 Management Studio 我Ssms.exe的存储在此路径中 C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe

5
为什么链接服务器在CASE表达式中限制为10个分支?
为什么这样CASE表达: SELECT CASE column WHEN 'a' THEN '1' WHEN 'b' THEN '2' ... c -> i WHEN 'j' THEN '10' WHEN 'k' THEN '11' END [col] FROM LinkedServer.database.dbo.table 产生这个结果? 错误消息:消息8180,级别16,状态1,行1的语句无法准备。消息125,级别15,状态4,第1行Case表达式只能嵌套到级别10。 显然,这里没有嵌套CASE表达式,尽管有十多个“分支”。 另一个奇怪的地方。此内联表值函数产生相同的错误: ALTER FUNCTION [dbo].[fn_MyFunction] ( @var varchar(20) ) RETURNS TABLE AS RETURN ( SELECT CASE column WHEN 'a' THEN …

5
在SSMS中找不到服务器代理
我正在遵循该指南-http: //www.sqlchicken.com/2009/07/how-to-create-a-server-side-trace-with-sql-profiler/,该指南将一直运行到步骤8 现在安排新创建的脚本。在SSMS中,连接到要跟踪的服务器。转到您的SQL Server代理并展开它,以便可以看到Jobs文件夹。右键单击Jobs文件夹,然后选择New Job。 我找不到SQL Server Agent。在哪里可以SQL Server Agent看到?我已经给当前用户所有访问权限。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.