• 命令行管理sql server


    给客户发布个项目,基于sql server数据库的,布署的时候嫌安装sql server安装麻烦,而且还不是正版,开始想装个MSDE得了,后来考虑到只支持到2000,所以还是决定装个sql server2005 express得了。到微软下载回来,50多M,不大,一会就下来了,然后在虚拟机上安装,发现附加数据库是个问题,于是建了一个udl文档,在本机上测试,顺利附加,可是在虚拟机上死活不行,报找不到文件,没办法,不能冒这个险,万一在客户那也不行就不好了,于是只有找命令行的方法,

    还是挺简单的,sql server,哪怕是express版,装好后会在系统环境变量里把sqlcmd.exe这个文件所在的目录添加到环境变量里,所以我们可以方便地用命令行来管理数据库:

    sqlcmd -S localhost -U sa -P mypwd -d master

    这就进入了master数据库了,在这里,你可以写create database语句,也可以开始执行分离、附加数据库的操作了:

    1、分离:  sp_detach_db dbweb,true
    2、附加:sp_attach_db 'dbweb','c:\test\dbweb.mdf','c:\test\dbweb_log.ldf'

    Create Database teach
    on(filename='e:\teach\teach.mdf'),
    (filename='e:\teach\teach_log.ldf')
    for attach

    上面是两种附加的方法,我用的是第一种。

    3,备份:SqlCmd -E -S MyServer –Q “BACKUP DATABASE dbname TO DISK='D:\Backups\MyDB.bak'”

    4,还原:SqlCmd -E -S MyServer –Q “RESTORE DATABASE dbname FROM DISK='D:\Backups\MyDB.bak'”

    注,-E 选项会忽略可能的用户名和密码环境变量设置,例如 SQLCMDPASSWORD。如果将 -E 选项与 -U 选项或 -P 选项一起使用,将生成错误消息。

    5,更改密码:osql -E sp_password null,'abc123','sa'

    此时把sa用户的密码重置成了abc123

    附加完毕,客户的sql server也就不要去管了,应该还算简单,一个50来M的sql server 2005 express安装还是费不了什么事的。

    注意,一般的增删改查记录的语句需要在换行后加多一句“go“。

  • 相关阅读:
    《Web 开发基础》专题系列
    《.NET 编程结构》专题汇总(C#)
    .NET Core:使用BarTender
    .NET Core:过滤器
    .NET Core:中间件
    .NET Core:Api版本控制
    .NET Core:Token认证
    .NET Core:SignalR
    .NET Core:跨域
    .NET Core:Json和XML
  • 原文地址:https://www.cnblogs.com/walkerwang/p/1784822.html
Copyright © 2020-2023  润新知