• 断电导致mssql标准库损坏的修复帖子


    https://docs.microsoft.com/zh-cn/sql/relational-databases/databases/rebuild-system-databases?redirectedfrom=MSDN&view=sql-server-ver16

    一、概述

    如果您丢失了 SA 密码,您可能认为唯一的选择是重新安装 SQL Server 并重新附加所有用户数据库。但是,SQL Server 提供了一种更好的灾难恢复方法,可以将对象和数据保留在 master 数据库中。只需在单用户模式下启动 SQL Server,您就可以使用 OSQL 命令轻松恢复 SA 密码。

    二、方法步骤

    2.1 方法一:单用户模式下的恢复

    STEP1:以单用户模式启动 SQL Server

    1. 打开 SQL Server 配置管理器。
    2. 找到恢复 SA 密码所需的 SQL Server 实例。
    3. 停止 SQL Server 实例。
    4. 右键单击实例并选择属性。
    5. 单击高级选项卡,并添加-m;到启动参数的开头。
    6. 单击“确定”并启动实例。

    STEP2:恢复 SQL Server SA 密码

    1. 打开提升的命令提示符并输入命令: osql -S myServer\instanceName -E 将 myServer\instanceName 替换为计算机的名称和要连接的 SQL Server 实例。
    2. 在接下来的提示中,输入以下命令: 1> alter login sa enable2> go1> sp_password NULL,'new_password','sa'2> go1> quit
    3. 停止 SQL Server 实例。
    4. 从启动参数字段中删除 -m 选项,然后启动 SQL Server 服务。

    命令行添加用户(SQL 2000及2008可用):
    sp_addlogin '登录名','密码';
    go
    sp_adduser '登录名','用户名','db_owner'(组名);
    go
    sp_addsrvrolemember '用户名','sysadmin' (角色名);
    go
    -----------------------------------------------------------------------------------------------------------
    SQL 2008可用
    create login 登录名 with password = '密码';
    create user 用户名 for login 登录名 with default_schema=dbo;
    exec sp_addsrvrolemember @loginame = N'登录名', @rolename = N'sysadmin'(角色);
    go

    参考帖子:
    https://www.csdn.net/tags/MtTaMg4sNjQ1ODc3LWJsb2cO0O0O.html


    今天开机后,启动sqlserver 数据库时,提示 启动失败,事件查看 显示错误 3417

    搜索 之后,找到一系列 办法,例如 ,右击 数据库文件属性高级。。。。等等,都失败

    也搜到 有用 rebuildm.exe的,但据说2005已废除此用法,改为 安装盘中的 setup.exe 参数命令 重新生成 ,如下:


    载入sql server 2005安装镜像,在cmd里cd到光盘目录中的 setup.exe目录(有的就在光盘 根目录,有的在tools)输入重新生成的脚本,

    这个时候没有界面弹出,过一会看到sql server 2005安装目录下MSSQL.1\MSSQL\Data下的master数据库已经重新生成过了,重新启动 服务就可以了,安装的脚本为:


    start /wait setup.exe /qn INSTANCENAME=XXX REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=XX

    INSTANCENAME就是实例名(系统服务列表,sqlserver 服务后面小括号中的名字), SAPWD是密码

    参考帖子:https://blog.csdn.net/yihuajack/article/details/124874417

    参考帖子: https://blog.51cto.com/u_15338523/3592728
    1: 从备份还原master数据库

    还原master数据库的前提是你的master有做备份。千万谨记,master也必须备份。很多时候,有些人备份时会忽略这些系统数据库。 一般master、msdb备份是必须的。

    2: 复制master数据库模板

    如果你没有master备份,那么退而求次,选择从安装目录的Templates拷贝master数据库文件到对应的目录。如果你SQL SERVER安装在C盘,没有修改过安装路径,那么可能就是C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\Templates

    3:重建master数据库

    找到SQL Server 2008的安装介质(插入光盘或拷贝介质到对应目录),在命令窗口将目录更改为setup.exe文件所在目录,然后运行下面命令(具体结合实际情况修改相关参数)

    setup.exe
    1.
    /QUIET
    1.
    登录后复制
    /ACTION=REBUILDDATABASE
    1.
    /INSTANCENAME=instance_name
    1.
    /SQLSYSADMINACCOUNTS= accounts
    1.
    [/SAPWD=password]
    1.
    [/SQLCOLLATION=collation_name]
    1.
    当然有很多细节,如果数据库安装后打过补丁,做过升级,可能需要重新应用这些补丁。具体参考博客?“How to Rebuild System Databases in SQL Server 2008”。
    -----------------------------------
    https://blog.51cto.com/u_15338523/3592728

  • 相关阅读:
    Django的sitemap
    meibu ddns update command
    nginx笔记
    docker里运行cron的要点笔记
    win2008r2 32位odbc安装笔记
    【转载】利用tasker推送手机短信到企业微信(App或者微信公众号)
    关闭树莓派的优化笔记
    自已编译openweb docker image笔记
    【笔记】元学习专题视频(台大·李宏毅)学习记录
    【教程】基于Ubuntu系统的PyTorch虚拟环境配置
  • 原文地址:https://www.cnblogs.com/liangyuwen/p/16416928.html
Copyright © 2020-2023  润新知