AJUDA
Buscar:
FAQ:
Aumentar Letras Diminuir Letras   
Como configurar o SQL Session State Server para uso com o MSSQL?

Eventualmente você pode ter o interesse de trabalhar com o armazenamento dos valores das variáveis de sessão em uma base de dados.
Em uma plataforma Windows, você pode se utilizar do Asp.Net State Service para este recurso, porém, por padrão ele não é habilitado na plataforma, deste modo é necessário que você execute o procedimento descrito mais abaixo.

1 – Gere um script padrão rodando um executável chamado aspnet_regsql.exe . Ele se encontra-se localmente em: C:\WindowsMicrosoft\.NETFramework\v2.0.50727

Informe os parâmetros:

-d [databaseName]
-sstype c
-sqlexportonly [filename]
-ssadd


Por exemplo, se o nome do seu banco de dados é minha_base , você pode rodar aspnet_regsql com esta linha de comando:


Aspnet_regsql -d minha_base -sstype c -sqlexportonly c:meu_script.sql –ssadd


Este comando irá gerar um arquivo chamado meu_script.sql que, no exemplo, foi direcionado para a raiz do drive C .

2 - Em seguida, execute o Enterprise Manager ou SQL Server Management Studio Express e carregue o arquivo “meu_script.sql”.

OBS: Estas instruções assumem que você possua conhecimentos sobre o Enterprise Manager ou SQL Server Management Studio.

3 – Edite o Script, localize e remova as linhas abaixo, elas tentam criar uma base de dados. Supondo que você já possui uma base MSSQL:


USE master
GO

/* Create and populate the session state database */

IF DB_ID(N'minha_base') IS NULL BEGIN
DECLARE @cmd nvarchar(500)
SET @cmd = N'CREATE DATABASE [minha_base]'
EXEC(@cmd)
END


4 - É necessário também deletar as linhas para remover o job, se existir.


DECLARE @jobname nvarchar(200)
SET @jobname = N'minha_base' '_Job_DeleteExpiredSessions'

-- Delete the [local] job
-- We expected to get an error if the job doesn't exist.
PRINT 'If the job does not exist, an error from msdb.dbo.sp_delete_job is expected.'

EXECUTE msdb.dbo.sp_delete_job @job_name = @jobname
GO

DECLARE @sstype nvarchar(128)
SET @sstype = N'sstype_custom'

IF UPPER(@sstype) = 'SSTYPE_TEMP' AND OBJECT_ID(N'dbo.ASPState_Startup', 'P') IS NOT NULL BEGIN
DROP PROCEDURE dbo.ASPState_Startup
END

USE [minha_base]
GO

IF OBJECT_ID(N'dbo.ASPStateTempSessions','U') IS NOT NULL BEGIN
DROP TABLE dbo.ASPStateTempSessions
END

IF OBJECT_ID(N'dbo.ASPStateTempApplications','U') IS NOT NULL BEGIN
DROP TABLE dbo.ASPStateTempApplications
END


5 - Como próximo passo, se faz necessário deletar o script que cria o job para apagar as sessões expiradas. O código é semelhante ao abaixo:


BEGIN TRANSACTION
DECLARE @JobID BINARY(16)
DECLARE @ReturnCode int
DECLARE @nameT nchar(200)
SELECT @ReturnCode = 0

-- Add the job
SET @nameT = N'minha_base' '_Job_DeleteExpiredSessions'
EXECUTE @ReturnCode = msdb.dbo.sp_add_job
@job_id = @JobID OUTPUT,
@job_name = @nameT,
@owner_login_name = NULL,
@description = N'Deletes expired sessions from the session state database.',
@category_name = N'[Uncategorized (Local)]',
@enabled = 1,
@notify_level_email = 0,
@notify_level_page = 0,
@notify_level_netsend = 0,
@notify_level_eventlog = 0,
@delete_level= 0

IF (@@ERROR 0 OR @ReturnCode 0) GOTO QuitWithRollback

-- Add the job steps
SET @nameT = N'minha_base' '_JobStep_DeleteExpiredSessions'
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobstep
@job_id = @JobID,
@step_id = 1,
@step_name = @nameT,
@command = N'EXECUTE DeleteExpiredSessions',
@database_name = N'minha_base',
@server = N'',
@subsystem = N'TSQL',
@cmdexec_success_code = 0,
@flags = 0,
@retry_attempts = 0,
@retry_interval = 1,
@output_file_name = N'',
@on_success_step_id = 0,
@on_success_action = 1,
@on_fail_step_id = 0,
@on_fail_action = 2

IF (@@ERROR 0 OR @ReturnCode 0) GOTO QuitWithRollback

EXECUTE @ReturnCode = msdb.dbo.sp_update_job @job_id = @JobID, @start_step_id = 1
IF (@@ERROR 0 OR @ReturnCode 0) GOTO QuitWithRollback

-- Add the job schedules
SET @nameT = N'minha_base' '_JobSchedule_DeleteExpiredSessions'
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobschedule
@job_id = @JobID,
@name = @nameT,
@enabled = 1,
@freq_type = 4,
@active_start_date = 20001016,
@active_start_time = 0,
@freq_interval = 1,
@freq_subday_type = 4,
@freq_subday_interval = 1,
@freq_relative_interval = 0,
@freq_recurrence_factor = 0,
@active_end_date = 99991231,
@active_end_time = 235959

IF (@@ERROR 0 OR @ReturnCode 0) GOTO QuitWithRollback

-- Add the Target Servers
EXECUTE @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @JobID, @server_name = N'(local)'
IF (@@ERROR 0 OR @ReturnCode 0) GOTO QuitWithRollback

COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:
GO


6 - A última etapa de edição é restituir uma maneira de excluir as variáveis de sessão expiradas.

Então faça uma busca pelo nome da stored procedure TempGetAppID e insira a linha abaixo no topo da execução:

EXECUTE DeleteExpiredSessions


O resultado do script será:


DECLARE @cmd nchar(4000)

SET @cmd = N'
CREATE PROCEDURE dbo.TempGetAppID
@appName tAppName,
@appId int OUTPUT
AS
Exec [dbo].[DeleteExpiredSessions]
SET @appName = LOWER(@appName)
SET @appId = NULL

SELECT @appId = AppId
FROM [minha_base].dbo.ASPStateTempApplications
WHERE AppName = @appName

IF @appId IS NULL BEGIN
BEGIN TRAN

SELECT @appId = AppId
FROM [minha_base].dbo.ASPStateTempApplications WITH (TABLOCKX)
WHERE AppName = @appName

IF @appId IS NULL
BEGIN
EXEC GetHashCode @appName, @appId OUTPUT

INSERT [minha_base].dbo.ASPStateTempApplications
VALUES
(@appId, @appName)

IF @@ERROR = 2627
BEGIN
DECLARE @dupApp tAppName

SELECT @dupApp = RTRIM(AppName)
FROM [minha_base].dbo.ASPStateTempApplications
WHERE AppId = @appId

RAISERROR(''SQL session state fatal error: hash-code collision between applications ''''%s'''' and ''''%s''''. Please rename the 1st application to resolve the problem.'',
18, 1, @appName, @dupApp)
END
END

COMMIT
END

RETURN 0'
EXEC(@cmd)
GO


Esse processo deve apagar todos dos dados das sessões expiradas.

Normalmente, esta modificação funciona para a maior parte das instalações.

Caso você possua uma quantidade grande de tráfego, pode ser necessário otimizar a procedure DeleteExpiredSessions.

Existem muitas modificações disponíveis na web pesquisando sobre DeleteExpiredSession juntamente com a palavra asp.net.

7 - Em seguida, você deve alterar as configurações do seu arquivo web.config conforme o exemplo abaixo:


mode="SQLServer"
allowCustomSqlDatabase="true"
sqlConnectionString="Server=nome_do_servidor; Database=minha_base; uid=login; pwd=senha;"
cookieless="false"
timeout="20"
/>


Substitua os campos nome_do_servidor, Database, uid e pwd pelos dados da base que você possui.
Abrir/Fechar Barra de Assuntos Relacionados
Aumentar Letras Diminuir Letras  
1. Como otimizar minha programação para que meu site não consuma recursos de modo excessivo em um servidor?

2. Como instalar o Magento em uma plataforma Linux do UOL HOST?

3. Glossário Revenda Linux - cPanel

4. Como usar o componente AspEmail?

5. Como executar Stored Procedures em MySQL utilizando Asp.Net?

6. Como testar a conexão com um banco de dados MSSQL e PHP?

7. Como instalar o RoundCube em uma Revenda Linux do UOL HOST?

8. Como incluir um Link do tipo "Indique este site" na minha página em uma Hospedagem com plataforma Windows?

9. Como conectar em um banco de dados Microsoft SQL Server utilizando PHP em uma plataforma Windows?

10. Checklist para campanhas de e-mail marketing.

11. Minha hospedagem é Linux, tenho o dump de minha base de dados MySQL e, em função do tamanho, não posso usar o gerenciador de Banco de dados do Painel, como posso rodar o Dump no servidor?

12. Como usar o componente Dundas Upload?

13.  Como usar o componente CDOSYS?

14. Quero exibir/listar o conteúdo dos diretórios da minha hospedagem, é possivel?

15. O que é Collation de uma Base de dados, como alterar?

16. Um cliente da minha revenda deseja utilizar seus e-mails no Google Apps, é possível?

17. Quais os passos para estabelecer uma conexão com bancos MySQL através de ASP sem o uso de DSN?

18. Como fazer um formulário em FLASH com PHP?

19. Como instalar o PHP Fusion em uma plataforma UOL HOST?

20. Quais são os passos que devo executar após contratar uma revenda no UOL HOST?

21. Como realizar o Dump de minha Base de dados MySQL via SSH em uma hospedagem Linux?

22. Os 10 erros mais freqüentes em e-mail marketing.

23. Como incluir meu site no Google e como fazer com que ele tenha um melhor resultado nas buscas?

24. Como resetar a senha de administrador do Moodle?

25. Minha programação utiliza ASP. Como posso proteger meus formulários de e-mail para evitar que eles sejam utilizados por terceiros?

26. Como testar a conexão com um banco de dados MySQL e PHP?

27. Como usar o componente ASPUpload?

28. Como instalar manualmente o osCommerce em uma plataforma do UOL HOST?

29. Como posso utilizar arquivos .htaccess para alterar parâmetros nas hospedagens Linux do UOL HOST?

30. Meu site utiliza ASP, estava hospedado em outra empresa, que alterações devo fazer no código fonte da minha aplicação?

31. Como transferir meu site de outro provedor de hospedagem para o UOL HOST?

32. Quero ter um contador de visitas(hits) no meu site. Como fazer?

33. Como conectar ao MySQL utilizando Asp.Net?

34. Proteção de diretórios e arquivos via .htaccess:

35. E-mail marketing para o B2C - design e conteúdo relevante

36. Proteção de diretórios via web.config em hospedagens Windows

37. Como utilizar o mod_rewrite para conversão de url’s amigáveis em minha hospedagem Linux?

38. Como enviar mensagens por formulário de contato através do PHP?

39. Como contratar e acessar o Gestor UOL Varejo através da Loja de Aplicativos?

40. Estou com problemas para utilizar a biblioteca Javascript Lightbox++ em minha hospedagem Windows, o que fazer ?

41. Posso personalizar os endereços DNS da minha revenda(Ex.: ns1.dominiodarevenda.com, ns2.dominiodarevenda.com)?

42. Como alterar as imagens da vitrine de uma Loja Virtual?

43. Como usar o componente ASPGRID?

44. Qual o primeiro passo após a aquisição do Gestor UOL Varejo?

45. Estou usando o Design avançado com Template Digital para minha Loja Virtual, porém o item de busca fica acima do meu logo. Como alterar esta posição?

46. Como conectar meu banco de dados SQL SERVER usando ASP sem DSN?

47. Posso utilizar o gerenciador de conteúdo Drupal na plataforma UOL HOST?

48. Como criar subdomínios/domínios direcionando-os para pastas dentro da minha hospedagem Windows?

49. Como criar subdomínios/domínios direcionando-os para pastas dentro da minha hospedagem Linux utilizando PHP?

50. Como utilizar o módulo URL Rewrite do IIS 7/Windows 2008 no UOL HOST?

51. Como importar imagens de Produtos para a Loja Virtual do UOL HOST?

52. Como contratar e acessar o Gestor UOL Médico através da Loja de Aplicativos?

53. Como contratar e acessar o Gestor UOL Manufatura e Serviços através da Loja de Aplicativos?

54. Glossário de Campos necessários para importação de Produtos da Loja Virtual.

55. Como alterar a mensagem de complemento do Opt-Out que é enviada automaticamente no E-mail Marketing?

56. Como administrar remotamente bases Microsoft SQL Server?

57. Como enviar mensagens por formulário de contato através do ASP.NET?

58. Site, Hospedagem, Domínio, etc. Entenda melhor o que são.

59. O que é Python e como funciona no UOL HOST?

60. Meu site utiliza PHP, estava hospedado em outra empresa, que alterações devo fazer no código fonte da minha aplicação?

61. Possuo uma plataforma Windows com uma aplicação em PHP. Ao clicar em itens do site, sempre visualizo a mesma página. O que fazer?

62. Quero exibir meus produtos de modo randômico ou de uma categoria específica na página inicial da minha Loja Virtual. Como fazer?

63. Como Instalar o Coppermine Photo Gallery em uma Plataforma do UOL HOST?

64. Como alterar um evento ("event") no MySQL?

65. Posso acessar o servidor e configurar minha hospedagem em plataforma WINDOWS direto pela Interface do IIS?

66. Como compilar um arquivo em C?

67. Como habilitar o Google Optimizer na minha Loja Virtual?

68. Ao acessar meu site em plataforma Windows visualizo o erro: "Parser Error Message: The attribute "timeout" has been locked in a higher level configuration." Por que?

69. Registrei um domínio com o UOL HOST e quero redirecionar uma entrada para o Webnode. Como fazer?

70. Como usar o componente AspTreeView 2?

71. Como colocar um icone para o atendimento via MSN em minha Loja Virtual?

72. Como evitar que as imagens da minha hospedagem Windows sejam utilizadas por sites de terceiros?

73. Como realizar um backup de uma base de dados MySQL através da ferramenta phpMyAdmin disponível no Painel de Controle?

74. O que é e para que serve o teste de pontuação de SPAM da ferramenta de E-mail Marketing?

75. Como instalar o Moodle em uma hospedagem do UOL HOST?

76. Como gerar uma chave CSR para uso de SSL em uma hospedagem compartilhada Linux do UOL HOST?

77. Possuo uma base de dados no UOL HOST. Posso mudar o nome da base/login criado?

78. Estou tendo problemas no Upload de arquivos grandes via script ASP, ASP.NET ou PHP na plataforma Windows, o que fazer ?

79. Ao disparar um e-mail Marketing, identifiquei um número alto de falhas na entrega de mensagens, como reduzir este indice?

80. Como resetar a senha do administrador do SugarCRM?

81. Como efetuar o Login para utilização do Gestor UOL Manufatura e Serviços?

82. O recurso de "Parent Paths" é ativado por padrão nas hospedagens Windows?

83.  Como usar o componente ASPPDF?

84. Como posso configurar páginas de erro personalizadas?

85. Possuo o serviço de cloud Prime e preciso cadastrar um DNS reverso para o IP da minha VM(Maquina Virtual), como proceder?

86. Como usar o componente FileSystemObject (FSO)?

87. Como agendar uma tarefa na Cron (ou Crontab) no UOL HOST?

88. Ao acessar um diretório de meu site, me deparo com a seguinte mensagem de erro: "The request filtering module is configured to deny a path in the URL that contains a hiddenSegment section." Por que?

89. O que é o Double opt-in no e-mail marketing?

90. Quais são os filtros mais utilizados para bloqueio de mensagens indesejadas na Internet?

91. Como usar o componente ASPEasyZip?

92. Como fazer o Upload de arquivos via PHP?

93. Possuo uma hospedagem Windows e quero desenvolver uma aplicação em PHP que conecte com banco de dados Access, como fazer ?

94. Minha aplicação ASP para de responder e o site fica inacessível. Nenhuma pagina ASP do site responde a requisições. O que fazer?

95. Como alterar a prioridade dos arquivos de índice de minha hospedagem Windows?

96. Registrei um domínio com o UOL HOST e quero redirecioná-lo para o Google Sites(Google AppEngine). Como fazer?

97. Como adicionar um mapa do Google Maps no meu site

98. Meus servidores de DNS estão hospedados fora do UOL HOST, quero utilizar apenas a hospedagem e/ou e-mails, quais são os apontamentos de DNS que devo criar para que estes serviços funcionem corretamente?

99. Como migrar meu Blog do Blogger/BlogSpot para o um Wordpress hospedado no UOL HOST?

100. Posso utilizar ferramentas em PHP para administrar bases MySQL?