целевой каталог для SQL Server 2012 отображается серым

Я думаю, что это могло бы означать, что Вы пошли вне того, что резервируется, поскольку корень только располагает с интервалами (Значение по умолчанию составляет 5% на ext3, я думаю):

$ sudo tune2fs -l /dev/sda1 | grep -i 'Reserved block count'
Reserved block count:     1877194

Зарезервированное количество блока является определенным количеством блоков, которые только может использовать пользователь root после того, как диск почти полон (Это препятствует тому, чтобы обычный пользователь заполнил фс и вызвал вещи повредиться). От man tune2fs:

   -m reserved-blocks-percentage 

Установите процент файловой системы, которая может только быть выделена привилегированными процессами. Резервирование некоторого количества блоков файловой системы для использования привилегированными процессами сделано, чтобы избежать фрагментации файловой системы, и позволить системным демонам, таким как syslogd (8), продолжить функционировать правильно после того, как непривилегированным процессам будут препятствовать писать в файловую систему. Обычно, процент по умолчанию зарезервированных блоков составляет 5%.

Таким образом, я думаю, что что-то занимает место быстро как пользователя root. Можно использовать du -hcs / и выполните развертку оттуда для нахождения, где файлы, это использует пространство. Если Вы думаете, что это могло бы быть что-то создающее большие файлы, Вы могли бы также использовать find команда.

5
задан 13 March 2012 в 03:52
3 ответа

Каталог общих функций устанавливается при первой установке SQL и не может быть изменен впоследствии без удаления всего из этой версии SQL в программах добавления / удаления, а затем повторной установки с правильный каталог.

Расширяя мой комментарий, примерный файл синхронизации и конфигурации для установки из командной строки.

rem setup call
setup.exe /IAcceptSQLServerLicenseTerms=TRUE /CONFIGURATIONFILE="Config_File_Instance.ini" /q

rem configuration (ini) file contents
;SQLSERVER2008 Configuration File
[SQLSERVER2008]

; Media and Shared locations
INSTALLSHAREDDIR="D:\Apps\Program Files\Microsoft SQL Server"
INSTALLSHAREDWOWDIR="D:\Apps\Program Files (x86)\Microsoft SQL Server"

; Install options
ACTION="Install"
FEATURES=SQLENGINE,REPLICATION,FULLTEXT
HELP="False"
INDICATEPROGRESS="False"
X86="False"
ERRORREPORTING="False"
SQMREPORTING="False"
FILESTREAMLEVEL="0"
SECURITYMODE="SQL"
FTSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE"
AGTSVCSTARTUPTYPE=Automatic
SAPWD="ILGT@Oeo845684e09S0R$%E$eOdtedtyeoryi"
ASSVCACCOUNT="DOMAIN\USER"
ASSVCPASSWORD="<MY SECURE PASSWORD>"
ASSYSADMINACCOUNTS="DOMAIN\USER"
AGTSVCACCOUNT="DOMAIN\USER"
AGTSVCPASSWORD="<MY SECURE PASSWORD>"
SQLSVCACCOUNT="DOMAIN\USER"
SQLSVCPASSWORD="<MY SECURE PASSWORD>"
FEATURES=SQLENGINE,REPLICATION,FULLTEXT,AS
SQLSYSADMINACCOUNTS="DOMAIN\USER"
SQLCOLLATION="SQL_Latin1_General_CP1_CI_AS"
INSTANCEID="<INSTANCE_NAME>"
INSTANCENAME="<INSTANCE_NAME>"
INSTANCEDIR="D:\Apps"
INSTALLSQLDATADIR="D:\Apps"
5
ответ дан 3 December 2019 в 01:20

Это плохое ограничение дизайна, и оно по-прежнему актуально для SQL Server 2014. Установщик SQL Server должен иметь возможность перемещать все!

Однако вы можете обойти это, создав папки, где вы хотите (по-прежнему отдельные 32/64 бит), перемещая все там из исходного в новое, а затем создавая соединения, которые сопоставляют новые местоположения со старым. Вам потребуются права администратора, чтобы закрыть все программы и подключения SQL, а также все службы SQL.

Вот как я это сделал в Windows 7, с объяснениями каждого шага. Я проделал то же самое с другими программами, которые не хотел переустанавливать на Server 2012R2.

Убедитесь, что вы понимаете, что делает каждый шаг, прежде чем делать это! Также обратите внимание на любые перенесенные строки.

0) Убедитесь, что у вас есть текущая резервная копия вашего системного диска,на случай, если у вас что-то не получится или что-то выйдет из строя, что я не учел.

1) Остановите все запущенные службы SQL Server, либо используйте управление системой, либо из командной строки:

sc stop SQLBrowswer
sc stop SQLWriter
sc stop MSSQL$SQLSERVER2012E

2) Создайте папки на диске, на котором вы хотите, чтобы программные файлы жили:

mkdir e:\SqlServer\x64
mkdir e:\SqlServer\x86

3) Перенести 64-битные программы. Проверьте вывод, чтобы увидеть, были ли какие-либо файлы скопированы, а не перемещены!

robocopy "C:\program files\Microsoft SQL Server\100" "E:\SqlServer\x64\100" /e /copyall /move
robocopy "C:\program files\Microsoft SQL Server\110" "E:\SqlServer\x64\110" /e /copyall /move

4) Переместите 32-разрядные программы: проверьте вывод, чтобы увидеть, были ли какие-либо файлы скопированы, а не перемещены!

robocopy "C:\program files (x86)\Microsoft SQL Server\100" "E:\SqlServer\x86\100" /e /copyall /move
robocopy "C:\program files (x86)\Microsoft SQL Server\110" "E:\SqlServer\x86\110" /e /copyall /move

5) Для меня этот файл был скопирован при перемещении дерева 110, поэтому мне пришлось переместить его перед удалением папок. Используя Process Explorer (Find), я определил, что он был открыт с помощью WmiPrvSE.exe, который я перезапущу ближе к концу. На данный момент, чтобы избавиться от этого и удалить папки SQL-сервера, я просто переместил его в корень c ::

move "C:\program files\Microsoft SQL Server\110\Shared\instapi110.dll" c:\instapi110.dlx

6) Удалите папки из программных файлов:

rmdir /s "c:\program files\Microsoft SQL Server"
rmdir /s "c:\program files (x86)\Microsoft SQL Server"

7) Если любой из они терпят неудачу, вы, вероятно, пропустили файл в 3) или 4), который был скопирован, а не перемещен. Вернитесь к шагу 5 и обработайте файл (ы) аналогично тому, как я обработал instapi110.dlx.

8) Сделайте соединения, чтобы файлы в новом месте отображались и в старом:

mklink /J "C:\Program Files\Microsoft SQL Server" E:\SqlServer\x64"
mklink /J "c:\Program Files (x86)\Microsoft SQL Server" "e:\SqlServer\x86"

9) Перезапустите Службы SQL, используя System Management, SQL Server Configuration Manager или командную строку:

sc start MSSQL$SQLSERVER2012E
sc start SQLBrowswer
sc start SQLWriter

10) Я использовал System Management для перезапуска службы WMI, так как она также автоматически перезапускает все зависимые службы. Что касается других компонентов, или если вы не можете понять, что именно открыто, вы можете перезагрузить компьютер.

del c:\instapi110.dlx

11) Убедитесь, что при резервном копировании системного диска вы также создаете резервную копию диска с ними (или, по крайней мере, папки). Резервные копии образов не будут создавать резервные копии файлов с целевых узлов на других дисках.

3
ответ дан 3 December 2019 в 01:20

Я заставил это работать при установке SQL Server 2014 Standard. Он должен работать и в 2012 году, поскольку параметр такой же для настройки командной строки. Вам необходимо добавить параметр / INSTANCEDIR = "your_path_here" в установку из командной строки. Запустите это из командной строки администратора PowerShell:

. \ Setup.exe / Action = Install / INSTANCEDIR = "D: \ Microsoft SQL Server"

Вот список параметров установки SQL Server 2012:

https: //technet.microsoft.com/en-us/library/ms144259(v=sql.110).aspx

0
ответ дан 3 December 2019 в 01:20

Теги

Похожие вопросы