【发布时间】:2009-05-26 13:20:23
【问题描述】:
我正在尝试在事务下执行以下语法,但它会抛出错误:-
这是我在事务下执行的脚本:-
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
-- full text search is installed. Run the necessary procedures
BEGIN
declare @dbName nvarchar(128)
select @dbName = DB_Name()
exec('ALTER DATABASE [' + @dbName + '] SET RECOVERY SIMPLE')
if(0 = DATABASEPROPERTY(DB_Name(),'IsFulltextEnabled'))
BEGIN
-- Full text is installed but not enabled on the Database. Enable that
EXEC sp_fulltext_database 'enable'
END
-- Check if there are current tables in full text search. If yes, remove them
if(1 = INDEXPROPERTY(Object_id('Blog'),'PK_Blog','IsFulltextKey'))
BEGIN
-- Drop the full text index
EXEC sp_fulltext_table 'Blog','drop'
END
END
我收到以下错误:-
多语句事务中不允许使用 ALTER DATABASE 语句。 不能在事务中执行过程“sys.sp_fulltext_table”。 不能在事务中执行过程“sys.sp_fulltext_table”。 不能在事务中执行过程“sys.sp_fulltext_table”。
大家有什么想法吗?
编辑:- 我想知道有没有办法做到这一点。我正在尝试更改数据库中列的数据类型,并且它们已启用全文搜索,因此我希望以某种方式完成上述操作。 :(
【问题讨论】:
-
也许错误信息没有说谎?
标签: .net sql sql-server