联系我们
cms新闻网站系统、政府cms定制开发

广州网站建设公司-阅速公司

报纸新媒体网站内容发布一体化解决方案联系电话
/
http://www.ysneo.com/
广州网站建设公司
您当前位置:首页>博客日记

博客日记

Linux系统sql server数据库常用操作

发布时间:2019/11/26 17:37:57  作者:Admin  阅读:10  

数据库操作请参考官网:
https://docs.microsoft.com/zh-cn/sql/relational-databases/system-stored-procedures/sp-detach-db-transact-sql?view=sql-server-ver15

连接数据库:sqlcmd -S localhost -U SA -P '12345678'

1 获取数据库独占权限:
USE master;
ALTER DATABASE newspaper SET SINGLE_USER;
go (后面不能有分号)

2 分离数据库(备份)

下面的示例将 newspaper 数据库与设置为 true 的skipchecks分离。
EXEC sp_detach_db 'newspaper', 'true';

查询有哪些数据库:SELECT Name from sys.Databases

以下示例将分离 newspaper 数据库,并保留全文索引文件和全文索引的元数据。 此命令将运行 UPDATE STATISTICS,这是默认行为。

exec sp_detach_db @dbname='newspaper'
, @keepfulltextindexfile='true';

3 查看支持哪些排序规则

SELECT Name from sys.fn_helpcollations() where Name like '%Chinese%'
SELECT Name from sys.fn_helpcollations()

select SERVERPROPERTY('Collation') --查看默认排序规则 SQL_Latin1_General_CP1_CI_AS Chinese_PRC_CI_AS
select SERVERPROPERTY('SqlCharSetName')--查看排序使用字符集名称 iso_1
select COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage') --查看默认编码格式​​​​​​​ 936
CI 指定不区分大小写,CS 指定区分大小写

中文:Chinese_PRC_CI_AS

4 更改排序规则:
sudo /opt/mssql/bin/mssql-conf set-collation

5. 更改单个数据库排序规则

解决方法:

a.设置数据库的 Ristrict Access 为 SINGLE_USER.

b.执行下列语句更改排序规则

USE master
GO
ALTER DATABASE newspaper COLLATE Chinese_PRC_CI_AS
ALTER DATABASE newspaper COLLATE SQL_Latin1_General_CP1_CI_AS
GO
c.上述命令执行成功之后设置Ristrict Access 为 MULTI_USER.

ALTER DATABASE newspaper set MULTI_USER

6. 还原数据库

附加数据库
CREATE DATABASE newspaper
ON (FILENAME = '/var/opt/mssql/data/newspaper.mdf'),
(FILENAME = '/var/opt/mssql/data/newspaper_log.ldf')
FOR ATTACH;

还原备份文件:
RESTORE DATABASE newspaper FROM DISK = '/var/opt/mssql/data/20191125905.bak' WITH RECOVERY;

7. 重启sql server服务

sudo systemctl restart mssql-server

8. 关闭客户反馈

sudo /opt/mssql/bin/mssql-conf set telemetry.customerfeedback false

9. 将目录的所有者和组更改为 mssql 用户 :

sudo chown mssql /var/opt/mssql/data/master.mdf
sudo chgrp mssql /var/opt/mssql/data/master.mdf

sudo chown mssql /tmp/masterdatabasedir
sudo chgrp mssql /tmp/masterdatabasedir

10. 修改自增步长自长跳1000

修改/usr/lib/systemd/system/mssql-server.service 文件
ExecStart=/opt/mssql/bin/sqlservr -T272
systemctl daemon-reload

常见错误:
1. Error 5(Access is denied.) occurred while opening file '/var/opt/mssql/data/master.mdf' to obtain configuration information at startup. An invalid startup option might have caused the error. Verify your startup options, and correct or remove them if necessary.
更改文件夹权限

2 . Sql server用存储过程处理中文出现乱码 like N'%中文%' 或者like搜索没有结果:

存储过程里面改成: insert into test (a)values(N''+@title+'')
存储过程里面定义变量:
@strWhere nvarchar(4000) = '', -- 查询条件 (注意: 不要加 where)
declare @strSQL nvarchar(4000) -- 主语句
exec ( @strSQL) 主语句也要是nvarchar
程序里面改成:strWhere = strWhere + " and b.title like N'%" + keyword + "%' "; 

相关文章
sql server
cms新闻系统购买咨询
扫描关注 广州阅速软件科技有限公司
扫描关注 广州阅速科技