- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试运行查询以删除来自 Windows 的服务器登录并重新创建它们。我运行这个查询来删除登录,它工作正常
USE master
SELECT
'IF EXISTS (SELECT * FROM sys.server_principals WHERE name = ' +
'''' + [name] + '''' + ')' +
' BEGIN DROP LOGIN ' + QUOTENAME([name]) + ' END; ' +
'CREATE LOGIN ' + QUOTENAME([name]) + ' FROM WINDOWS; '
FROM sys.server_principals
WHERE type_desc IN ('WINDOWS_GROUP' , 'WINDOWS_LOGIN')
但是下面的查询
USE master
SELECT
'ALTER LOGIN ' + QUOTENAME([name]) + ' WITH DEFAULT_DATABASE = ' +
spr.default_database_name
+ 'GRANT ' + spe.permission_name + ' to ' + QUOTENAME([name])
+ CASE WHEN spr.default_database_name IS NOT NULL
THEN ' WITH DEFAULT DATABASE = ' + spr.default_database_name
ELSE
''
END
FROM sys.server_principals spr INNER JOIN
sys.server_permissions spe ON spr.principal_id = spe.grantee_principal_id
WHERE spr.type_desc IN ('WINDOWS_GROUP', 'WINDOWS_LOGIN')
正在返回这个错误
Cannot resolve collation conflict for column 1 in SELECT statement.
所以当我调查这个问题时,它来自 sysname
列 default_database_name
当我使用 spr.default_database_name COLLATE Latin1_General_CI_AI
时查询运行我的三部分问题是:我是因为一行还是因为列数据类型是 sysname
而遇到问题? COLLATE Latin1_General_CI_AI
是这种情况下的正确语法吗?。当我运行这个查询时
SELECT name, description
FROM sys.fn_helpcollations()
结果显示了不同语言的许多排序规则。那么对于一个完全英文的数据库,我是如何得到这个错误的。
编辑:我运行了这两个查询来检查数据库和服务器的排序规则属性
SELECT DATABASEPROPERTYEX(N'master', N'Collation')
SELECT SERVERPROPERTY(N'Collation')
结果都是
SQL_Latin1_General_CP1_CI_AS
最佳答案
这可能有助于为数据库和服务器实例带来默认的排序规则,如下所示更改查询:
SELECT
'ALTER LOGIN ' + QUOTENAME([name]) + ' WITH DEFAULT_DATABASE = ' +
spr.default_database_name COLLATE database_default
+ 'GRANT ' + spe.permission_name + ' to ' + QUOTENAME([name])
+ CASE WHEN spr.default_database_name IS NOT NULL
THEN ' WITH DEFAULT DATABASE = ' + spr.default_database_name COLLATE database_default
ELSE
''
END
FROM sys.server_principals spr INNER JOIN
sys.server_permissions spe ON spr.principal_id = spe.grantee_principal_id
WHERE spr.type_desc IN ('WINDOWS_GROUP', 'WINDOWS_LOGIN')
关于sql-server - 如何整理sql server中的sysname,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30737833/
今天我在 SSMS 中运行了一个查询,它给了我关于缺少索引的提示。 但是创建索引的语句让我很困惑,有一个名字Name of Missing Index这很清楚,但还有,sysname在我不明白的名称部
我正在 Ubuntu 中编写我的第一个 C 程序,它涉及检测笔记本电脑上的交流适配器或电池何时看到事件(通过 udev_monitor)。到目前为止,当电源情况发生变化时,我可以使用类似这样的 whi
我有一个使用以下类型作为参数的存储过程 CREATE TYPE [dbo].[columnOrderTableType] AS TABLE ([id]
SQL Server SYSNAME 数据类型的用途是什么? BOL说: The sysname data type is used for table columns, variables, and
我需要获取设备的设备名称,默认情况下,它在 edev 函数上: https://www.kernel.org/pub/linux/utils/kernel/hotplug/libudev/libude
我希望创建一个表来存储有关存储过程的信息。我需要存储 SP_Name .我最初的计划是使用 SP_Name NVARCHAR(128) NOT NULL . 从程序我将使用 OBJECT_NAME(@
我一直在努力开始 rabbitmq 我本地(Windows 7)系统上的服务器。它工作了过去 1.5 个月,然后突然间它开始给我带来麻烦,因为我上次重新启动系统。 Error: unable to c
我是一名优秀的程序员,十分优秀!