分类 软件 下的文章

创建一个与数据库创建者有相同权限的用户,可以设置自己默认的schema。

CREATE USER Esper
  WITHOUT LOGIN
  WITH DEFAULT_SCHEMA = MySchema;
go

GRANT CONNECT TO Esper;

ALTER ROLE db_owner ADD MEMBER Esper;

之后使用时在前面加一句

EXECUTE AS USER = 'Esper';
go

就可以让当前的批处理都以MySchema作为默认schema执行了。

ALTER TABLE foo NOCHECK CONSTRAINT ALL  --禁用所有外键
ALTER TABLE foo WITH CHECK CHECK CONSTRAINT ALL  --启用所有外键

主键约束不存在禁用的,所以不用担心影响到主键约束。 启用外键的条件是数据库中的数据不违背外键规则,即该方法不能用于像MySQL那样初始化导入不完整的数据。 经测试在SSLDB 2012可用。

参考: https://stackoverflow.com/questions/737115/turn-off-constraints-temporarily-ms-sql

不愧是欧洲公司,收的钱多,办事效率也高。不像某些坑爹中企,咳咳 来自官方的教程可以说是很贴心了: 建立新项目,数据源选SQL Server (jTds) 应用程序路径会自动检测设置好。 选择好实例(Instance),URL那儿右边下拉选LocalDB。 上面的选项卡选到Advanced,DOMAIN那儿填自己的计算机名(右键我的电脑里面那个)。 CHARSET可以不用填,不过SSLDB默认的应该是gbk。 ->推荐也看看这里,国人大概率需要的 如果是自定义验证方式的话,请自行配置General界面的用户名和密码 该下载的驱动按提示下好,测试一下连接,应该马上Successful(本地数据库嘛)。 然后就能用了。 进去以后如果发现数据库没找到,双击Schemas,然后勾上你需要的数据库。推荐再在选中的数据库展开,选择需要的Schema。 然后就可以用了。

参考:https://blog.jetbrains.com/datagrip/2016/10/07/connecting-datagrip-to-sql-server-express-localdb/

alter database <database-name> set single_user with rollback immediate;
(go)
alter database <database-name> collate Chinese_PRC_CI_AS;
(go)
alter database <database-name> set multi_user;
(go)

(似乎<database-name>那里也可以直接填mdf的文件路径?)

可以在不使用nchar的情况下存储中文并正常显示中文。

collate是排序规则。

其中排序规则名称由两部份构成,前半部份是指本排序规则所支持的字符集。 如:Chinese_PRC_CS_AI_WS -> 针对简体中文,区分大小写和全半角字符,但不区分重音(似乎用处不大?)的排序规则 前半部分:指Unicode字符集,Chinese_PRC_指针对简体中文Unicode的排序规则。 后半部分: _BIN 二进制排序

_CI(CS) 是否区分大小写:CI不区分,CS区分大小写。如果想让比较将大写字母和小写字母视为不等,请选择该选项。

_AI(AS) 是否区分重音:AI不区分,AS区分重音。如果想让比较将重音和非重音字母视为不等,请选择该选项。如果选择该选项,比较还将重音不同的字母视为不等。

_KI(KS) 是否区分假名类型:KI不区分,KS区分假名。如果想让比较将片假名和平假名日语音节视为不等,请选择该选项。

_WI(WS) 是否区分宽度:WI不区分,WS区分宽度。如果想让比较将半角字符和全角字符视为不等,请选择该选项

参考:https://blog.csdn.net/u011127019/article/details/51705213