常见故障 - densen2014/docs GitHub Wiki

SQL 2005日志文件损坏后应当如何恢复

  1. 在MSSE停止数据库服务。
  2. 将需要恢复的数据库文件移动到另外的位置。
  3. 启动数据库服务。
  4. 确认要恢复的数据库文件已经成功复制到另外的位置,然后在SQL Server Management Studio中删除要恢复的数据库。
  5. 新建同名的数据库 ds_shop
  6. 停止数据库服务。
  7. 用第2步中备份的 ds_shop.mdf 文件覆盖新数据库的同名文件。 位置 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA,删除 ds_shop_log.LDF
  8. 启动数据库服务。
  9. 打开数据库,在master数据库上右键新建查询
  10. 运行下面的命令就可以恢复数据库: 新log文件会在老数据文件位置自动生成 D:\中讯商业管理\DensenAlmacen\Data  

假设数据库名称是 ds_shop

alter database ds_shop set emergency
use master
exec sp_dboption ds_shop, N'single', N'true'
dbcc checkdb('ds_shop',REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb('ds_shop',REPAIR_REBUILD)
exec sp_dboption 'ds_shop', N'single', N'false' 
exec sp_resetstatus 'ds_shop' 
exec sp_dboption 'ds_shop','single user','false'

_2005:exec sp_dboption ds_shop, N'single', N'true' —将目标数据库置为单用户状态 _

2012: ALTER DATABASE ds_shop SET SINGLE_USER WITH ROLLBACK IMMEDIATE --把数据设为单用户模式 ALTER DATABASE ds_shop SET MULTI_USER WITH ROLLBACK IMMEDIATE --把数据设为单用户模式

SQL2012,2016,2019

alter database ds_shop set emergency
use master
ALTER DATABASE ds_shop SET SINGLE_USER WITH ROLLBACK IMMEDIATE
dbcc checkdb('ds_shop',REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb('ds_shop',REPAIR_REBUILD)
ALTER DATABASE ds_shop SET MULTI_USER WITH ROLLBACK IMMEDIATE 
exec sp_resetstatus 'ds_shop' 
ALTER DATABASE ds_shop SET MULTI_USER WITH ROLLBACK IMMEDIATE 

餐馆

alter database res_data set emergency
use master
exec sp_dboption res_data, N'single', N'true'
dbcc checkdb('res_data',REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb('res_data',REPAIR_REBUILD)
exec sp_dboption 'res_data', N'single', N'false' 
exec sp_resetstatus 'res_data' 
exec sp_dboption 'res_data','single user','false'
  1. 分离ds_shop数据库,停止数据库服务,剪切 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\ds_shop.mdf 到 D:\中讯商业管理\DensenAlmacen\Data
  2. 使用单机版或者工具附加文件测试是否连接成功

Epson TM-T88V 小票机终极设置

image image image