sqlcmd 常用命令
来源:靑龍一笑的博客 作者:靑龍一笑 发布时间:2022-06-13 10:04:36 点击量:588 评论:0
1、登录 SQL Server
[root@RicenOS ~]# sqlcmd -S 127.0.0.1 -U sa
2、查看数据库
1> select name, database_id from sys.databases
2> go
2> go
3、查看用户
1> select name from sysusers
2> go
2> go
4、查看当前用户
1> select current_user
2> go
2> go
5、还原数据库
这里针对原操作系统为 Windows,目标操作系统为 Linux 的情况。
由于 linux 系统安装的 MSSQL,默认安装在 /opt 目录下,数据目录为 /var/opt/mssql/data/。但是,在实际的生产环境中,系统盘与数据盘是分开的,数据盘可能为 /data。对于这种情况,我们需要把数据库文件移到 /data 目录下。
首先,创建数据库文件存放目录:
[root@RicenOS ~]# mkdir -pv /data/mssqlData
给 mssql 用户授权:
[root@RicenOS ~]# chown -R mssql:mssql /data/mssqlData/
接着,使用如下命令列出逻辑文件名:
1> restore filelistonly from disk='/opt/blog.bak'
2> go
2> go
找出 .mdf 和 .ldf 所对应的逻辑名,假如分别为:blog、blog_log,那么,使用如下命令还原:
1> restore database blog from disk='/opt/blog.bak'
2> with move 'blog' to '/data/mssqlData/blog.mdf',
3> move 'blog_log' to '/data/mssqlData/blog_log.ldf'
4> go
2> with move 'blog' to '/data/mssqlData/blog.mdf',
3> move 'blog_log' to '/data/mssqlData/blog_log.ldf'
4> go
6、创建用户
一般来说,在迁移数据库的时候,我们希望保持原本使用的数据库连接帐号密码不变。假如,之前数据库的连接帐号为 ricen,连接密码为 p2022#DBA,那么,使用如下命令创建用户:
1> create login ricen with password='p2022#DBA', default_database=blog
2> go
1> create user ricen for login ricen with default_schema=dbo
2> go
2> go
1> create user ricen for login ricen with default_schema=dbo
2> go
7、映射用户到数据库
虽然,前面创建的用户与原先使用的连接帐号密码一致,但是,还不能使用,还需要进行如下操作:
1> use blog
2> go
1> sp_change_users_login 'update_one', 'ricen', 'ricen'
2> go
2> go
1> sp_change_users_login 'update_one', 'ricen', 'ricen'
2> go
8、以 ricen 身份登录
[root@RicenOS ~]# sqlcmd -S 127.0.0.1 -U ricen
9、查看指定数据库中的所有表
1> use blog
2> go
1> select * from sysobjects where xtype='u'
2> go
2> go
1> select * from sysobjects where xtype='u'
2> go
版权所有 © 2005-2023 靑龍一笑的博客 Powered by C.S.Ricen
Copyright © 2005-2023 by www.ricensoftwares.com.cn All Rights Reserved.
Copyright © 2005-2023 by www.ricensoftwares.com.cn All Rights Reserved.