Advertisement
Guest User

Handle STOPLIST before BacPac

a guest
Aug 3rd, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 2.14 KB | None | 0 0
  1. DECLARE @_SQL NVARCHAR(4000)
  2.  
  3. -------------------------------------------------------------------------------------
  4. -- ALTER FULLTEXT INDEX ON [TableName] SET STOPLIST = SYSTEM'
  5. IF object_id('tempdb..#TMPSETSTOPLIST') IS NOT NULL
  6.     DROP TABLE #TMPSETSTOPLIST;
  7. CREATE TABLE #TMPSETSTOPLIST (
  8.     TableName [nvarchar] (250)
  9.     );
  10.  
  11. DECLARE cur CURSOR
  12. FOR
  13. select object_NAME(sys.fulltext_indexes.object_id) as TableName from sys.fulltext_indexes where stoplist_id != 0
  14.  
  15. OPEN cur;
  16.  
  17. DECLARE @TableName [nvarchar](250);
  18.  
  19. FETCH NEXT
  20. FROM cur
  21. INTO @TableName;
  22.  
  23. WHILE @@FETCH_STATUS = 0
  24. BEGIN
  25.     INSERT INTO #TMPSETSTOPLIST (TableName)
  26.         VALUES (@TableName);       
  27.  
  28.     FETCH NEXT
  29.         FROM cur
  30.         INTO @TableName;
  31. END;
  32.  
  33. CLOSE cur;
  34.  
  35. DEALLOCATE cur;
  36.  
  37. DECLARE cur CURSOR
  38. FOR
  39. SELECT TableName
  40. FROM #TMPSETSTOPLIST;
  41.  
  42. OPEN cur;
  43.  
  44. FETCH NEXT
  45.     FROM cur
  46.     INTO @TableName;
  47.  
  48. WHILE @@FETCH_STATUS = 0
  49. BEGIN
  50.     SET @_SQL = N'ALTER FULLTEXT INDEX ON ' + QUOTENAME(@TableName) + ' SET STOPLIST = SYSTEM'
  51.     PRINT (@_SQL)
  52.     EXEC SP_EXECUTESQL @_SQL
  53.  
  54.     FETCH NEXT
  55.         FROM cur
  56.         INTO @TableName;
  57. END;
  58.  
  59. CLOSE cur;
  60.  
  61. DEALLOCATE cur;
  62.  
  63. -------------------------------------------------------------------------------------
  64. -- DROP FULLTEXT STOPLIST [FullTextStopListName];
  65. IF object_id('tempdb..#DROPFULLTEXTSTOPLIST') IS NOT NULL
  66.     DROP TABLE #DROPFULLTEXTSTOPLIST;
  67. CREATE TABLE #DROPFULLTEXTSTOPLIST (
  68.     StopListName [nvarchar] (250)
  69.     );
  70.  
  71. DECLARE cur CURSOR
  72. FOR
  73. select name from sys.fulltext_stoplists
  74.  
  75. OPEN cur;
  76.  
  77. DECLARE @StopListName [nvarchar](250);
  78.  
  79. FETCH NEXT
  80. FROM cur
  81. INTO @StopListName;
  82.  
  83. WHILE @@FETCH_STATUS = 0
  84. BEGIN
  85.     INSERT INTO #DROPFULLTEXTSTOPLIST (StopListName)
  86.         VALUES (@StopListName);    
  87.  
  88.     FETCH NEXT
  89.         FROM cur
  90.         INTO @StopListName;
  91. END;
  92.  
  93. CLOSE cur;
  94.  
  95. DEALLOCATE cur;
  96.  
  97. DECLARE cur CURSOR
  98. FOR
  99. SELECT StopListName
  100. FROM #DROPFULLTEXTSTOPLIST;
  101.  
  102. OPEN cur;
  103.  
  104. FETCH NEXT
  105. FROM cur
  106. INTO @StopListName;
  107.  
  108. WHILE @@FETCH_STATUS = 0
  109. BEGIN
  110.     SET @_SQL = N'DROP FULLTEXT STOPLIST ' + QUOTENAME(@StopListName) + ';'
  111.     PRINT (@_SQL)
  112.     EXEC SP_EXECUTESQL @_SQL
  113.  
  114.     FETCH NEXT
  115.         FROM cur
  116.         INTO @StopListName;
  117. END;
  118.  
  119. CLOSE cur;
  120.  
  121. DEALLOCATE cur;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement