在一个项目中用到的数据库是sqlserver 2008 express 。可没想到express版本的功能有些限制,此前一直都不知道啊。百度百科可以看到它的限制:
“1.数据库的大小限制:sql Server 2005 Express 和sql Server 2008 Express 数据库的大小限制最大为 4GB,最新版本的sql Server 2008 R2 Express 数据库的大小限制最大为 10G。这个大小的限制只有在数据文件上,交易记录档则不受此限。 2.只能使用一个 cpu 来运算,这在多个 cpu 的电脑上会造成浪费。
3.可使用的存储器量最高只有 1GB。
4.没有 sql Agent,若要做调度服务必须自己写程序。”
所以,由于没有sql代理(sqlSERVERAGENT)服务,就没有办法通过新建作业的方式来做数据库备份了。如果不想重装数据库的话可以试试以下方法。思路如下:
例如:backup.sql ,我们把它放在 F:\Database_Backup下,以后的备份文件也放在这个目录下。
- GO
- DECLARE
- @backupTime VARCHAR(20)
- @fileName VARCHAR(1000)
- SELECT
- @backupTime=(CONVERT(VARCHAR(8), GETDATE(), 112) +REPLACE(VARCHAR(5), 114), ':', ''))
- @fileName='F:\Database_Backup\DB_'+@backupTime+'.bak'
- backup database dbname to disk=@fileName
dbname就是你的数据库的名称了,备份的文件名形如 DB_201302252140.bak。
例如:backup_database.bat ,我们也把它放在 F:\Database_Backup下。
d:
cd F:\Database_Backup
osql -S .\sqlexpress -d dbname -U username -P password -i backup.sql