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. Conheça os principais passos para começar a trabalhar com e-mail marketing

5. Como usar o componente AspEmail?

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

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

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

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 instalar o PHP Fusion em uma plataforma UOL HOST?

13. Como usar o componente Dundas Upload?

14.  Como usar o componente CDOSYS?

15. Como usar o componente CDOSYS na Revenda Windows?

16. Quero exibir/listar o conteúdo dos diretórios da minha hospedagem, é possível?

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

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

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

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

21. Posso utilizar o arquivo web.config, em pastas e subpastas de minha Hospedagem Windows?

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

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

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

25. Como resetar a senha de administrador do Moodle?

26. Autenticação para envio de mensagens

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

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

29. Como usar o componente ASPUpload?

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

31. Como posso utilizar arquivos .htaccess para alterar parâmetros nas hospedagens Linux?

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

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

34. Como conectar ao MySQL utilizando Asp.Net?

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

36. Como transferir meu site de outro provedor de hospedagem?

37. Após atualizar o WordPress em minha hospedagem Windows ocorreu o erro: Fatal error: Call to undefined function iis7_supports_permalinks() in E:\home\xxx\Web\wp-includes\canonical.php on line 40. Como solucionar?

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

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

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

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

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

43. Estou com dificuldade no envio/recebimento das mensagens enviadas através do formulário de contato do meu site, como devo proceder.

44. Como Preparar um arquivo CSV para migrar email de um servidor IMAP?

45. Como configurar o Exchange no Microsoft Office Outlook?

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

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

48. Como usar o componente ASPGRID?

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

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

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

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

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

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

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

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

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

58. Posso utilizar o gerenciador de conteúdo Drupal?

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

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

61. Como administrar remotamente bases Microsoft SQL Server?

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

63. 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?

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

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

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

67. Como compilar um arquivo em C?

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 evitar que as imagens da minha hospedagem Windows sejam utilizadas por sites de terceiros?

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

73. Cache - Hospedagem Linux

74. Como colocar um vídeo ou arquivo de áudio no meu site?

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

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

77. Possuo uma base de dados. 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. Posso personalizar os endereços DNS da minha Revenda Windows?

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

84.  Como usar o componente ASPPDF?

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

86. O que fazer quando minha aplicação ASP.NET retorna a seguinte mensagem: "System.Security.SecurityException: That assembly does not allow partially trusted callers." ?

87. Como faço para configurar minha Loja Virtual?

88. Como faço para obter um certificado próprio para conexões seguras (SSL) e como instalá-lo em alguma conta de hospedagem dentro de uma Revenda?

89. Como cadastrar campos adicionais para personalização de mensagens no serviço do E-mail Marketing.

90. Ao acessar meu site visualizo a mensagem "An internal server error occurred. Please try again later." o que fazer?

91. Como usar o componente FileSystemObject (FSO)?

92. Ao atualizar dados da minha hospedagem, sigo visualizando o conteúdo antigo. O que fazer?

93. 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?

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

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

96. Como usar o componente ASPEasyZip?

97. Como realizar um redirecionamento 301.

98. Como fazer o Upload de arquivos via PHP?

99. Como configurar o email do Exchange ActiveSync em um celular Nokia (Symbian)?

100. Estou tendo problemas de conectividade ao utilizar o Microsoft Outlook 2007/2010 com meu E-mail Exchange. O que devo fazer?