SQL SERVER 2005 只有mdf文件的数据恢复方法
一次Project项目平台(PWA)意外停机且配置数据库SharePoint_Config 的LDF被意外删除,如果直接附加MDF文件则无法附加.
先尝试sp_attach_single_file_db恢复,执行如下:
sp_attach_single_file_db 'SharePoint_Config','D:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\SharePoint_Config.mdf'
出现错误提示:
文件激活失败。物理文件名称'D:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\SharePoint_Config_log.LDF'可能不正确。
由于数据库没有完全关闭,无法重新生成日志。
消息 1813,级别 16,状态 2,第 1 行
无法打开新数据库 'SharePoint_Config'。CREATE DATABASE 中止。
然后尝试如下步骤:
1、新建SharePoint_Config 数据库
2、停止SQL SERVER 2005,将原来的SharePoint_Config .mdf数据库文件覆盖刚新建的SharePoint_Config .mdf数据库文件,重新启动数据库,
此时数据库中的表不能正常读取。
3、将数据库设置为紧急状态:
alter database SharePoint_Config set emergency
此时数据处于紧急状态,库中的表可以读取
4、执行如下代码:
use master
declare @databasename varchar(255)
set @databasename='SharePoint_Config' --设置变量为数据名
exec sp_dboption @databasename, N'single', N'true' --将数据库置为单用户状态
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(@databasename,REPAIR_REBUILD)
exec sp_dboption @databasename, N'single', N'false'--将目标数据库置为多用户状态
数据库正常。
相关文档:
SQL中object_id函数的用法 收藏
int object_id('objectname');
此方法返回数据库对象标识号。
其中,参数objectname 表示要使用的对象,其数据类型为nchar或char(如果为char,系统将其转换为nchar)
返回类型为int,表示该对象在系统中的编号。
比如:
use wf_timesheet
select object_id('usp_check_excess ......
使用Tranact-SQL 编写代码来创建一个新表:
USE [OnlineJudge]
GO
/****** Object: Table [dbo].[User1] Script Date: 05/17/2010 14:05:06 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[User2](/*notice convert the tablename*/
[num] [int]IDENTITY(1,1) NOT N ......
声明字段映射
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface FiledRef
{
String fieldName();
}
声明表映射
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface TableRef
{
& ......
在“新建”菜单中,有Program window,Test window,SQL window和Command window等。
SQL window和Command window有什么区别??
Command window实现了SQL*Plus的所有功能,允许运行sql*plus命令,sql命令,sql脚本。
SQL window用于执行sql语句,显示sql输出,执行统计信息。(测试sql语句,查看表中的数据, ......