Часто задаваемые вопросы по SQL
- Почему мой SQL-скрипт не запускается при запуске из установщика? При использовании PostgreSQL или...
- Почему зависает установка SQL Server?
- Как я могу установить SQL Server в качестве обязательного компонента?
- Почему SQL Browse не работает должным образом?
Почему мой SQL-скрипт не запускается при запуске из установщика?
При использовании PostgreSQL или MySql, если скрипт содержит несколько разделителей операторов, он может выполняться без ошибок вне программы установки при запуске из специального редактора SQL.
Обычно это происходит потому, что некоторые редакторы, выделенные для SQL, могут автоматически анализировать различные разделители операторов в одном и том же сценарии. Поскольку Advanced Installer не поддерживает это, решение состоит в том, чтобы определить только один тип разделителя операторов для каждого сценария SQL, добавляемого в Вкладка SQL Script , Разделитель операторов можно определить в настройках скрипта на правой панели.
Например, вот что вы можете сделать, если у вас есть скрипт, который включает в себя несколько маленьких, разделенных различными разделителями операторов:
- разбить скрипт на отдельные файлы SQL, чтобы у каждого был только один тип разделителя
- добавьте каждый сценарий на странице «Базы данных SQL» в разделе «Сервер базы данных» в том порядке, в котором они вам нужны (сверху -> снизу)
Почему поле номера порта не проверяется в SqlConnectionDlg?
Это происходит при подключении через ресурс ODBC SQL Server из-за неправильного формата SqlConnectionString.
Следующий новый синтаксис для ключевого слова Server был недавно представлен Microsoft:
Например:
Драйвер = [\ {] SQL Server [\}]; Сервер = [SERVER_PROP]; Порт = [PORT_PROP] ; Uid = [USERNAME_PROP]; Pwd = [PASSWORD_PROP]; База данных = [DB_PROP];
станет:
Драйвер = [\ {] SQL Server [\}]; Сервер = [SERVER_PROP], [PORT_PROP] ; Uid = [USERNAME_PROP]; Pwd = [PASSWORD_PROP]; База данных = [DB_PROP];
Чтобы экранировать символы в строке подключения SQL, необходимо заключить их в символы {и} (например, чтобы экранировать значение пароля, например; 1234, строка подключения должна содержать Pwd = {; 1234};. Поскольку Advanced Installer использует отформатированные поля синтаксис станет примерно таким: Pwd = [\ {] [PASSWORD_PROP] [\}]; где PASSWORD_PROP общее имущество будет динамически разрешаться во время выполнения до; 1234.)
Почему зависает установка SQL Server?
Начиная с SQL Server 2008R2 SP2 (до 2014 года), установочный пакет SQL Server не может быть установлен в качестве обязательного программного обеспечения или программного обеспечения после установки из-за Проблема с настройкой SQL Server , При добавлении в качестве обязательного компонента или предварительного условия установки SQL Server зависает, поскольку при установке SQL Server он пытается завершить работу службы установщика Windows (msiserver). Вы можете прочитать больше об этом ограничении для MS SQL Server 2008R2 а также MSSQL Server 2012 ,
Как я могу установить SQL Server в качестве обязательного компонента?
Начиная с Microsoft SQL Server 2012 с пакетом обновления 2 (SP2), программу установки SQL можно установить в качестве обязательного компонента или после установки .
Параметр командной строки SkipInstallerRunCheck необходимо передать обязательному компоненту SQL через раздел Установка командной строки предварительная настройка вкладки во избежание проверки дескриптора установщика Windows необходимого условия SQL.
Для получения подробной информации, пожалуйста, проверьте SQL Server в загрузочном приложении статья.
Почему SQL Browse не работает должным образом?
При использовании SQL Browse есть несколько недостатков, которые необходимо учитывать и предотвращать.
1. Функция просмотра SQL перечисляет экземпляры SQL Server с использованием сетевого вещания (порт UDP 1434). Связанные проблемы могут включать в себя:
- UDP-порт 1434 может быть заблокирован брандмауэром на сервере. Этот порт по умолчанию заблокирован, что предотвращает обнаружение серверов SQL. Решением является добавление в брандмауэр правила, которое позволяет службе просмотра SQL взаимодействовать через порт 1434.
- Экземпляры, которые не запущены и не работают, не отвечают на широковещательную рассылку обнаружения.
- Экземпляры могут отвечать по истечении времени ожидания, что исключит ответ из списка.
- Экземпляры могут не прослушивать правильный протокол, поэтому никогда не получат широковещательную рассылку обнаружения.
- Флаг HideInstance может быть установлен для некоторых экземпляров.
- Сетевая инфраструктура, особенно маршрутизаторы, может ограничивать эффект / видимость широковещания, поскольку большинство маршрутизаторов настроены на то, чтобы не передавать широковещательные запросы на другую сторону маршрутизатора.
2. SQL Server устанавливается как предварительное условие, и локальный просмотр не обнаруживает экземпляры. В этом случае перезагрузка компьютера может решить эту проблему, поскольку записи реестра могут быть еще не записаны на диск.
3. SQL-серверы работают на контроллере домена, и для настроек брандмауэра может потребоваться специальная настройка от администратора.
4. Клиентский компьютер находится в домене, а компьютеры вне домена не перечислены. Это происходит потому, что просмотр SQL обнаруживает только компьютеры вне домена, на которых запущена служба просмотра SQL.
Почему мой SQL-скрипт не запускается при запуске из установщика?Почему зависает установка SQL Server?
Как я могу установить SQL Server в качестве обязательного компонента?
Почему SQL Browse не работает должным образом?
Почему мой SQL-скрипт не запускается при запуске из установщика?
Почему SQL Browse не работает должным образом?