如何更新 CLR 函数(或过程)程序集 dll,而不必在 SQL Server (2008 R2) 中删除并重新创建程序集?
就目前而言,如果我更新程序集(例如添加新函数),SQL Server 将不会接受更新的 dll,直到我删除程序集:
DROP ASSEMBLY CLRFunctions
Msg 6590, Level 16, State 1, Line 1
DROP ASSEMBLY failed because 'CLRFunctions' is referenced by object 'NormalizeString'.
Run Code Online (Sandbox Code Playgroud)
但在我可以删除程序集之前,我必须首先删除引用它的所有函数:
DROP FUNCTION NormalizeString
DROP FUNCTION RemoveDiacritics
DROP FUNCTION RemoveCombiningDiacritics
DROP FUNCTION CombineLigatures
....
DROP FUNCTION PseudolocalizeArabic
Run Code Online (Sandbox Code Playgroud)
并且然后我可以删除这个组件:
DROP ASSEMBLY CLRFunctions
Run Code Online (Sandbox Code Playgroud)
现在我必须“创建”程序集:
CREATE ASSEMBLY CLRFunctions FROM 'c:\foos\CLRFunctions.dll';
Run Code Online (Sandbox Code Playgroud)
现在我必须寻找的所有UDF的声明中之前,我删除了他们注册。
我宁愿更新程序集,并让 SQL Server 开始使用它。
更新:我随机尝试DBCC FREEPROCCACHE …
我管理着大约 90 个 SQL Server 实例,需要查询来确定分配给每个实例的内存量。请注意,我不是在问如何设置它,只是为了在不使用 Management Studio 的情况下查看它当前的设置。
谢谢你的帮助。
是否有任何修复方法可以让 SSMS 活动监视器正常工作?
问题:
SQL Server 活动监视器失败并显示错误对话框:
标题:Microsoft SQL Server Management Studio
活动监视器无法对服务器 [SERVER] 执行查询。此实例的活动监视器将被置于暂停状态。使用概览窗格中的上下文菜单恢复活动监视器。附加信息:
无法在服务器 [SERVER] (Microsoft.SqlServer.Management.ResourceMonitoring) 上找到 SQL Server 进程 ID [PID]
我在 SQL Server 2008 R2 x64 Developer Edition 上遇到了这个问题,但我认为在某些尚未确定的情况下,它在所有使用 SQL Server 2008 的 64 位系统中都可以找到。
Microsoft Connect 中有一个关于此的错误报告,但尚未解决。
Windows Server 2008 R2。
已安装 SQL Server 2008 R2。
MSSQL 服务作为本地系统运行。
服务器 FQDN 是 SQL01.domain.com。
SQL01 已加入名为 domain.com 的 Active Directory 域。
以下是 setspn 的输出:
C:\> setspn -L sql01
...
MSSQLSvc/SQL01.domain.com:1433
MSSQLSvc/SQL01.domain.com
WSMAN/SQL01.domain.com
WSMAN/SQL01
TERMSRV/SQL01.domain.com
TERMSRV/SQL01
RestrictedKrbHost/SQL01
RestrictedKrbHost/SQL01.domain.com
HOST/SQL01.domain.com
HOST/SQL01
Run Code Online (Sandbox Code Playgroud)
然后我启动 SQL Server Management Studio 并因此连接到 SQL01:
然后我运行以下查询:
SELECT auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@spid
Run Code Online (Sandbox Code Playgroud)
结果是 NTLM。为什么结果不是 Kerberos?对于使用本地系统帐户,SPN 似乎是正确的。服务器不在集群中或使用 CNAME。
在我的 Windows 7 Ultimate x64 上,我无法对现有的 MS SQL Server 2008 R2 实例做任何事情。在运行主卸载程序之前卸载一些与 SQL Server 相关的组件是我的错误。
现在卸载程序似乎在完成它的工作并报告“全部完成”,但最终什么也没发生,“\Program Files\Microsoft SQL Server”文件夹仍然有 700 Mb 的内容。重启没有效果。
如何手动删除 SQL Server 2008 R2?
我一直在为 SQL Server 2008 R2 Express 尝试各种不同的启动标志组合,但我无法克服这个错误:
用户“LOCALSERVER\Administrator”登录失败。原因:服务器处于单用户模式。目前只有一名管理员可以连接。(Microsoft SQL Server,错误:18461)
我已经尝试在单用户模式下启动它-m"SQLCMD"
,-m"sqlcmd"
并且我什至尝试启动它-m"Microsoft SQL Server Management Studio - Query"
并与适当的客户端连接我总是收到此错误。我 99% 确定没有其他东西在窃取我的连接,并且在与 SSMS 连接时,我确保执行“新查询连接”方法以确保它只使用 1 个连接。
有没有其他人有这个问题?如何修复并登录?
如何将组添加到SQL Server 2008 R2 中的sysadmin固定服务器角色?
有关详细信息,请参阅我的相关问题,详细显示不允许将组添加到 sysadmin 角色的分步屏幕截图。
在 SQL Server 2008 R2 之前,本地Administrators
组的成员会自动添加到sysadmin固定服务器角色。从 SQL Server 2008 R2 开始,不再添加该组。新的推荐机制是:
...创建一个单独的 Windows 组,其中包含适当的 DBA 并授予该组数据库中的 sysadmin 角色。
我如何“授予 Windows 组系统管理员角色”?
...作为 BUILTIN\Administrators 组成员的用户自动成为 sysadmin 固定服务器角色的成员。
我有一个问题,我在 SQL Server 2008 中的日志文件增长到 40Gb,我想缩小它。我正在使用的查询是
ALTER DATABASE DatabaseName SET RECOVERY SIMPLE
use DatabaseName
GO
CHECKPOINT
GO
DBCC SHRINKFILE(transactionloglogicalfilename,TRUNCATEONLY)
GO
ALTER DATABASE DatabaseName SET RECOVERY FULL
Run Code Online (Sandbox Code Playgroud)
不会在更多级别上缩小日志文件,而且缩小日志文件只会在短时间内立即扩展。
那么问题出在哪里呢?
我想将日志文件缩小到 1GB,而我的数据库大小是 16GB
我有 SQL Server 2008 R2
请有人帮助我
我们的一个客户安装了 SQL Server Express 2008 R2,我们或多或少地为他们管理。今天我需要创建一个新的数据库(一种相当罕见的情况)。所以我以我们通常使用的用户身份登录,我们没有创建数据库的权限..没什么大不了的,只是远程桌面并在本地以管理员身份登录以为此创建一个新用户......
好吧,事实证明最新版本的 SQL Express 不再提供 BUILTIN\Administrator 登录名...有 sa 帐户,但没有人记得密码是什么。
如何重置 sa 的密码或启用 BUILTIN\Administrator 登录?
security windows-server-2008 sql-server password-reset sql-server-2008-r2
是否可以重定向(或创建别名)以便对 SQL 的默认实例的请求重定向到命名实例?
场景是我将 SQL 2008 R2 安装为命名实例MACHINENAME\SQL2008R2并且我有一些我无法更新的脚本试图连接到 sql 的默认实例(通过 Data Source=. 或 Data Source=MACHINENAME)并且我希望它们针对命名实例运行,而不必安装新的默认实例。是否可以?